package com.ctshk.rpc.system.service;

import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.system.dto.MainDataTripInfoChangeRuleListDTO;
import com.ctshk.rpc.system.dto.mian.data.MainDataTravelTipsDTO;
import com.ctshk.rpc.system.dto.mian.data.TripInfoChangeRuleDTO;
import com.ctshk.rpc.system.req.MainDataTripInfoChangeRuleAddReq;
import com.ctshk.rpc.system.req.MainDataTripInfoChangeRuleIdReq;
import com.ctshk.rpc.system.req.MainDataTripInfoChangeRuleListReq;
import com.ctshk.rpc.system.req.MainDataTripInfoChangeRuleUpdateReq;
import com.ctshk.rpc.system.req.main.data.*;

/**
 * <p>
 * 更改旅客资料收费规则 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-01-26
 */
public interface IMainDataTripInfoChangeRuleService  {

    /**
     * 新增更改旅客资料收费规则
     * @param req 旅游旅客规则信息
     * @param tokenUser 用户属性
     */
    void add(MainDataTripInfoChangeRuleAddReq req, TokenUser tokenUser);

    /**
     * 修改更改旅客资料收费规则
     * @param req 旅游旅客规则信息
     * @param tokenUser 用户属性
     */
    void update(MainDataTripInfoChangeRuleUpdateReq req, TokenUser tokenUser);

    /**
     * 删除旅客规则信息
     * @param req 旅客规则信息id
     * @param tokenUser 登录用户属性
     */
    void delete(MainDataTripInfoChangeRuleIdReq req, TokenUser tokenUser);

    /**
     * 设置状态接口
     * @param req 旅客规则信息id
     * @param tokenUser 登录用户属性
     */
    void updateStatus(MainDataTripInfoChangeRuleIdReq req, TokenUser tokenUser);

    /**
     * 查询旅客规则信息列表
     * @param req 旅客规则信息查询条件
     * @return 旅客规则信息列表
     */
    PageResponse<MainDataTripInfoChangeRuleListDTO> queryList(MainDataTripInfoChangeRuleListReq req);

    /**
     * 查询旅客规则信息列表
     * @param req 旅客规则信息查询条件
     * @return 旅客规则信息列表
     */
    MainDataTripInfoChangeRuleListDTO query(MainDataTripInfoChangeRuleIdReq req);
}
